package com.innerchic.mapper.tpool;

import java.util.concurrent.Future;

/**
 * 进程池规范
 */
public interface ThreadPoolNorm {
    /**
     * 执行任务
     */
    void execute(Runnable task);

    /**
     * 提交任务
     */
    Future<?> submit(Runnable task);

    /**
     * 阻塞方法
     *
     * @return 获取到对象时任务结束, 如果抛出对象为异常对象, 则证明执行任务时出现了异常
     */
    Object executeWait(Runnable task);

    /**
     * 移除任务
     */
    void remove(Runnable task);
}
